package com.qiyang.login;

import com.taobao.pandora.boot.PandoraBootstrap;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.web.client.RestTemplate;


/**
 * Created on 2018/4/29.
 *
 * @author sehuaqi.
 * 描述：
 */
@SpringBootApplication(scanBasePackages = {"com.qiyang.common.autoconfig","com.qiyang.api.*","com.qiyang.login"})

/**** SpringCloud Feign 调用方式时启用以下注解 *****/
//@EnableEurekaClient
//@EnableFeignClients({"com.qiyang.api.*"}) /*当你的FeignClient接口不在你APP所在包下时，一定记得要配扫描包的路径*/
//@EnableHystrix /*启用断路器*/
//@EnableHystrixDashboard /*开启断路器监控*/
/**** SpringCloud Feign 调用方式时启用以上注解 *****/
public class LoginHSFApp {

    private static Logger log = LoggerFactory.getLogger(LoginHSFApp.class);


    public static void main(String args[]) {

        // 启动 Pandora Boot 用于加载 Pandora 容器
        PandoraBootstrap.run(args);

        //执行函数
        SpringApplication.run(LoginHSFApp.class, args);

        // 标记服务启动完成,并设置线程 wait。防止用户业务代码运行完毕退出后，导致容器退出。
        PandoraBootstrap.markStartupAndWait();

        log.info("登录服务启动完成");
    }

    @Bean
    @LoadBalanced
    RestTemplate restTemplate(){
        return new RestTemplate();
    }

//    @Bean
//    public IRule ribbonRule() {
//        System.out.println(">>>>> 采用随机负载均衡机制");
//        return new RandomRule();
//    }
}
